'''
@Project :my_python_project
@PRODUCT :PyCharm
@File    :shutil模块.PY
@IDE     :PyCharm
@Author  :xionglinhui
@Date    :2024/9/8 15:53
'''
import shutil

# 打开源文件和目标文件
# with (open('source.txt', 'rb') as fsrc,open('destination.txt', 'wb') as fdst):
#     shutil.copyfileobj(fsrc, fdst)

# 复制文件
#需要注意的是，如果目标文件已经存在，shutil.copyfile() 将会覆盖它。
#如果你不想覆盖已经存在的文件，你可以先检查目标文件是否存在，或者使用 shutil.copy() 或 shutil.copy2() 函数，它们可以复制文件的元数据。
# shutil.copyfile('source.txt', 'destination_temp.txt')

# 复制文件权限
# shutil.copymode('source.txt', 'destination.txt')

# 复制文件
# 假设我们有一个名为'example.txt'的文件，我们想将其复制到'backup/'目录下
shutil.copy('source.txt', 'backup/example1.txt')

# 如果我们只想指定目录，并保持文件名不变，可以这样做：
# shutil.copy('source.txt', 'backup/')  # 注意这里的斜杠，表明'backup'是一个目录

import shutil

# 假设我们有一个名为'example.txt'的文件，我们想将其复制到'backup/'目录下，并保留权限
shutil.copy2('example.txt', 'backup/example.txt')

# 如果'backup/'目录不存在，这将引发一个异常。确保目录存在，或者先创建它
# import os
# os.makedirs('backup', exist_ok=True)  # exist_ok=True 防止目录已存在时抛出异常

# 现在可以安全地复制文件了
shutil.copy2('example.txt', 'backup/example.txt')